84 research outputs found

    Bounded Refinement Types

    Full text link
    We present a notion of bounded quantification for refinement types and show how it expands the expressiveness of refinement typing by using it to develop typed combinators for: (1) relational algebra and safe database access, (2) Floyd-Hoare logic within a state transformer monad equipped with combinators for branching and looping, and (3) using the above to implement a refined IO monad that tracks capabilities and resource usage. This leap in expressiveness comes via a translation to "ghost" functions, which lets us retain the automated and decidable SMT based checking and inference that makes refinement typing effective in practice.Comment: 14 pages, International Conference on Functional Programming, ICFP 201

    Generalizations of Hedberg’s Theorem

    Full text link
    Streicher’s axiom K or the uniqueness of identity proofs (UIP) is the statement that every identity type has at most one inhabitant. The groupoid interpretation by Hofmann and Streicher shows that this is not provable for an arbitrary type, but a theorem by Hedberg gives a sufficient condition. Types satisfying UIP are known as h-sets. The main contributions of this paper are: (i) Natural, more general sufficient conditions for a type being an h-set. (ii) A new characterization of h-sets. (iii) A new result inspired by these characterizations, with some applications. All the proofs have been formalized in Agda

    Dependent Types for Pragmatics

    Full text link
    This paper proposes the use of dependent types for pragmatic phenomena such as pronoun binding and presupposition resolution as a type-theoretic alternative to formalisms such as Discourse Representation Theory and Dynamic Semantics.Comment: This version updates the paper for publication in LEU

    Implicit coercions in type systems

    Full text link

    PX: A computational logic

    No full text
    • 

    corecore